abstract class $UGRAPH{NTP} < $RO_UGRAPH{NTP}
****
A modifiable undirected graph. It has edges of type UEDGE{NTP}, which are simply unordered pairs of nodes


Ancestors
$RO_UGRAPH{_} $GRAPH{_,_} $STR $ELT{_}
$ELT

Descendants
UGRAPH{_} UGRAPH_INCL{_}



Public


Features
add_node: NTP;
**** Add a node to the graph and return the node index, which is an internal reference to the node (used within the graph implementation)
add_node(n: NTP): NTP;
**** Add a node to the graph and return the new node index, which is an internal reference to the node (used within the graph implementation) The node that is returned may or may not be the same as the node "n" that is passed in as an argument.
connect(e: UEDGE{NTP});
**** Connect the nodes specified by edge "e". i.e. create an edge between e.first and e.second Usage: g: DIGRAPH{INT} := #;
____n3_::=_g.add_node;_
____n4_::=_g.add_node;
____g.connect(#DIEDGE{INT}(n3,n4));
Note that UGRAPH_INCL has wrappers to allow you to write g.connect(n3,n4);
delete_node(n: NTP);
**** Delete the node "n" from the graph, and any associated edges
disconnect(e: UEDGE{NTP});
**** Remove the edge "e" from the graph, from between nodes e.first and e.second

The Sather Home Page